home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / C and C++ / Utilities / Winter Shell 1.0d2 / Source / Libraries / FloatMenuLib / FloatMenuLib.h < prev   
Encoding:
C/C++ Source or Header  |  1993-12-31  |  1.6 KB  |  47 lines  |  [TEXT/KAHL]

  1. #pragma once
  2.  
  3. #include "LLHandleLib.h"
  4. #include "OffscreenLib.h"
  5. #include "TaskLib.h"
  6.  
  7. typedef pascal void (*MenuProcPtr)(short msg, MenuHandle menu, Rect *bounds,
  8.     Point hit, short *which);
  9.  
  10. typedef struct {
  11.     LLType next;                    /* next floating menu */
  12.  
  13.     WindowPtr window;                /* window containing menu */
  14.     MenuHandle menu;                /* handle to menu */
  15.     Boolean owner;                    /* true if created menu with GetMenu */
  16.     short item;                        /* last item selected from menu */
  17.     
  18.     /* for tearing off the menu */
  19.     Handle mdef;                    /* original mdef for menu */
  20.     Point position;                /* position to move window to */
  21.     TaskHandle tearTask;            /* task to position window */
  22.  
  23.     /* for menu display */
  24.     Handle menuCopy;                /* copy of menu data, for checking if it changed */
  25.     OffscreenHandle offscreen;    /* offscreen bitmap of menu */
  26. } FloatMenuType, *FloatMenuPtr, **FloatMenuHandle;
  27.  
  28. Boolean FloatMenuValid(FloatMenuHandle fmenu);
  29. FloatMenuHandle FloatMenuBegin(short id);
  30. void FloatMenuEnd(FloatMenuHandle fmenu);
  31. void FloatMenuOpen(FloatMenuHandle fmenu);
  32. void FloatMenuClose(FloatMenuHandle fmenu);
  33. short FloatMenuID(FloatMenuHandle fmenu);
  34. short FloatMenuItem(FloatMenuHandle fmenu);
  35. FloatMenuHandle FloatMenuFindID(short id);
  36. Boolean FloatMenuChanged(FloatMenuHandle fmenu);
  37. void FloatMenuRemember(FloatMenuHandle fmenu);
  38. void FloatMenuForget(FloatMenuHandle fmenu);
  39. void FloatMenuAdjustAll(void);
  40. void FloatMenuAdjust(FloatMenuHandle fmenu);
  41. void FloatMenuDraw(FloatMenuHandle fmenu);
  42. void FloatMenuChoose(FloatMenuHandle fmenu);
  43. void FloatMenuUnhilite(FloatMenuHandle fmenu);
  44. void FloatMenuMemoryLow(void);
  45. const /* EventTableType */ void *FloatMenuEventTable(void);
  46. void FloatMenuEventTableRegister(void);
  47.